let timeout = null;
const util = {
  times: function (current) {
    // 获取当前时间
    let myDate = new Date();
    // 年
    let year = myDate.getFullYear();
    // 月
    let month = myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1;
    // 日
    let day = myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate();
    // 时
    let hh = myDate.getHours() < 10 ? '0' + myDate.getHours() : myDate.getHours();
    // 分
    let mm = myDate.getMinutes() < 10 ? '0' + myDate.getMinutes() : myDate.getMinutes();
    // 秒
    let ss = myDate.getSeconds() < 10 ? '0' + myDate.getSeconds() : myDate.getSeconds();

    let dateVal = '';
    switch (current) {
      case 'ym':
        dateVal = year + '-' + month;
        break;
      case 'currentDate':
      case 'ymd':
        dateVal = year + '-' + month + '-' + day;
        break;
      case 'ymd_hds':
        dateVal = year + '-' + month + '-' + day + ' ' + hh + ':' + mm + ':' + ss;
        break;
      case 'year':
        dateVal = year;
        break;
      case 'month':
        dateVal = month;
        break;
    }
    return dateVal;
  },
  copy(obj) {
    return JSON.parse(JSON.stringify(obj));
  },
  // 防抖
  debounce(fn, wait) {
    if (timeout !== null) clearTimeout(timeout);
    timeout = setTimeout(fn, wait);
  },
  //获取当前月份 yyyy-MM 格式
  getCurrentMonth() {
    const now = new Date();
    const year = now.getFullYear();
    // 要注意，getMonth() 返回的月份是从0开始的，所以要加1
    const month = String(now.getMonth() + 1).padStart(2, '0');
    return `${year}-${month}`;
  },
  getLastMonth() {
    const date = new Date();
    date.setMonth(date.getMonth() - 1); // 直接将月份减1

    // 获取调整后的年份和月份
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');

    return `${year}-${month}`;
  },
  formatDate: function (myDate) {
    // 获取当前时间
    // let myDate = new Date();
    // 年
    let year = myDate.getFullYear();
    // 月
    let month = myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1;
    // 日
    let day = myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate();
    // 时
    let hh = myDate.getHours() < 10 ? '0' + myDate.getHours() : myDate.getHours();
    // 分
    let mm = myDate.getMinutes() < 10 ? '0' + myDate.getMinutes() : myDate.getMinutes();
    // 秒
    let ss = myDate.getSeconds() < 10 ? '0' + myDate.getSeconds() : myDate.getSeconds();

    let dateVal = '';
    dateVal = year + '-' + month + '-' + day;

    return dateVal;
  },
};
export default util;
